Previous Page TOC Next Page



- 11 -
Printing NT Style


Computers were supposed to create a paperless society where everything was done on a display rather than on hard copy. To a certain extent, computers have fulfilled that promise. We can now create documents that look right the first time—well, sometimes we can. The problem is partly human error, partly the fact that computers make documents so easy to produce, and partly a lack of standards.

Getting the output that you really want from a printer is often an exercise in frustration. Sure, it looks great on screen, but when you get it out on paper it looks totally different. WYSIWYG (what you see is what you get) was a catch phrase a few years ago; we still haven't achieved it, but we're getting close.

This chapter helps you understand the problems that you'll encounter getting a document from your word processor (or other application) to the printer in such a way that it actually looks like you expected it to. More than that, I'll take a look at some of the standards you should look for when it comes time to buy your next printer. A printer that follows the standards might not always provide everything you need in the way of output, but it'll get closer to perfection than a printer that doesn't meet the standards.



Looking Ahead: This chapter examines the internals of Windows NT. Obviously, that isn't the whole story; you need to know about the user's view of printing as well. I'll show you how to configure the serial or parallel port needed to communicate with your printer in Chapter 14, "Exploiting Your Hardware." If you want to know how to use fonts and manage your print jobs, look at Chapter 15, "Fonts and Printing."


The Windows NT Print Architecture


The first stop on the tour of printers is a look at the Windows NT print architecture. Windows NT provides a lot more than Windows 95 (its closest relative in this area) in the way of printer support. It has to; Windows NT has a lot more to support than Windows 95 does. Aside from the server considerations for Windows NT Server, even the workstation version has more to worry about. The following points list some of the things that you should be aware of before I begin the discussion of the architecture itself:



Note: Portability isn't only an issue when it comes to printing. You'll want to look at the other architectural chapters in this book as well. The graphics interface is one area where Microsoft had to do a lot of work to make Windows NT as portable as possible. In Windows 95, for example, they were able to use some hand-tuned assembly code to speed up the rasterizer. The same can't be said of Windows NT where they had to stick with C++.

Getting a print job from an application to the printer is no simple matter if you have multi-platform support and more than one application to worry about. An understanding of how printing works will often help you discover new optimization techniques or track down an equipment failure with ease.

This might look like a lot of work just to get your document from an application to the printer that's connected to your machine. You're right. If that's all the tasks that Windows NT could handle, this architecture would be very inflated indeed. There's much more here than meets the eye, however. Using this kind of interface provides the user with a lot more freedom in regard to printer usage. It ensures that everyone gets equal access to the printer. Programmers benefit as well because it's easier to write print drivers. The DIB engine improves the quality of your output. I could go on, but I think the point is made. The printing architecture might be complex, but it makes printing easier from a user's perspective.

Print Standards


Just out of curiosity, I sat down with a stack of printer technical manuals prior to writing this chapter. Usually, a vendor tells you what standards it is using to design a piece of equipment. For example, you'll find any modem manual packed with CCITT—Consultative Committee for International Telegraphy and Telephony (now ITU—International Telecommunication Union)—standards that define how the modem is supposed to work at certain speeds. My network adapter manuals provide the same type of information; they tell me what standards it adheres to and in some cases, how it cheats a little on them. The only standard I found in my printer manuals (all fifteen of them) was the FCC Class B computing device label—even my telephone has one of those. How do you decide what kind of standard to follow when selecting a printer?

It's unfortunate that there aren't any standards committees to speak of when it comes to printers—at least no committees independent of the companies that lead in specific areas of the printer vendor community. Because of this, it's probably smarter to ignore "standards" with printers and look at the companies that lead in specific areas. I think of three companies when I think of print standards: Epson, Adobe, and Hewlett-Packard. (All these companies do work with standards committees such as CCITT to define parts of the printer standard. Adobe is working with them on the TIFF standard and how it affects the printing of a Group 4 FAX transmission, for example.)

Dot Matrix and Epson


Dot matrix printing might seem like a dead issue to some of us, but I assure you that it's alive and well in database management systems (DBMS) and areas such as inventory control. Every retail store I can name uses some form of impact printer to produce receipts. I find that there isn't any substitute for a dot matrix when printing multi-part forms. Some people try to replace the multi-part forms with multiple copies from a laser printer, but it just doesn't work as well in some applications. If you want to know the standard for dot matrix printing, look at Epson. Just about every dot matrix printer on the market today provides some form of Epson printer emulation. The two most popular emulations are the FX and MX series printers—although, the LQ series has become quite popular when it comes to letter quality printing.



Tip: Epson maintains a forum on CompuServe where you'll find a variety of print specifications, including those used with the LQ-870 and LQ-1170 printers. All you need to look for is LQ870SP.TXT. I was a bit surprised to find a specification for the thickness of paper you can use with 9-pin and 24-pin printers in the PPRSPC.TXT document. Epson provides three different sections on CompuServe for the various printers that they produce: impact, inkjet, and laser.


PostScript and Adobe


Adobe is the place to look if you are a PostScript user. Very few other companies have added much to the PostScript standardization. You can still see Adobe's hand in the standard. As recently as March 1994, Adobe provided an update to the PPD (PostScript Printer Description) specification. The 4.1 specification is about 180 pages long—certainly not the light reading that some people think it might be. The Windows driver specification (Revision 2.1.2) was updated in October of the same year. The developer specifications have even more recent revisions. Adobe published the TIFF 6.0 specification in October 1995, for example.



Tip: You can find out everything you need to know about PostScript by visiting the Adobe forum on CompuServe. The two different sections you can visit discuss PostScript and developer specifications. The PostScript section contains a file named WWWSTS.TXT that provides a list of all the Internet sites you can visit for additional information.


Laser and Hewlett-Packard


As with the other two companies mentioned so far, Hewlett-Packard brings another dose of sanity to the world of printing. Their claim to fame began with the LaserJet III printer. Now, the LaserJet 4 and 5 printers are the latest technology. The LaserJet 5 specification appeared on the scene in September 1995. Besides providing the language used to control the printer, Hewlett-Packard also champions a plotter language called PCL; not surprisingly, it appears as part of the feature set for their laser printers.



Tip: Hewlett-Packard maintains several forums on CompuServe. You'll find printers in their peripherals forum. Besides learning the specifications for a variety of laser and inkjet printers, you'll find some interesting papers on other topics. I found one specification for fax machines in this forum, for example. Needless to say, digging around doesn't hurt when you're looking for the latest on printer—or other—technology.

By now, you're thinking that the whole area of printer standardization is pretty weak—you're right. All I've done is mention three companies that seem to set the standard for dot matrix, PostScript, and laser printers. I haven't even mentioned a leader for ink jet printers. The problem is clear: There aren't any firm standards that you can rely on when it comes to printers. What you should rely on is the vendor community that supports the technology.

Obviously, most companies are reluctant to base policy on the whims of a single company. Look at what happened to the graphics standards after IBM lost its leadership position. It was a few years before VESA (Video Electronics Standards Association) stepped in and cleaned up the mess. How else can you minimize your risk besides buying a mainstream printer? I do several things when I look for a new printer:

As you can see, getting a printer is easy; getting one that will actually work is another story. The lack of standards in the printer arena shouldn't prevent you from making a good buying decision, though. I find that spending just a little time to look for the right cues helps me avoid bad buying decisions.

On Your Own


Spend some time looking through the vendor manual for your printer. Do you see specifications for the printer itself? If not, look for specifications that affect the component parts. If your printer includes an Ethernet card, for example, you should see some form of compliance with the Ethernet standards.

Look through the SYSTEM folder on your machine. See if you can identify the various drivers used to make your printer work. Use the Windows NT View utility to look at the contents of the various DLLs. You should be able to identify some of the function names you see within the files as user components that you work with directly. You might see a function name that opens the print dialog box or one that adjusts the print resolution, for example. Other function names will come from the User or GDI modules that I talked about in Chapter 6, "An Architectural Overview."

Use Windows CompuServe Information Manager (WinCIM) or a similar product to view some of the files in the vendor forums that I mentioned in this chapter. Do you see the variety of specifications that these vendors provide? This is part of the basis for your printer buying decision. Download one or more of the specifications. Reading through these specifications—at least glancing through them—will give you new insights into what you can expect from your printer and what you should expect in the future.

Previous Page Page Top TOC Next Page